import {
    createRouter,
    createWebHashHistory
} from "vue-router"
import { routes } from "./routes.js"
//导入高阶函数方法
import { useWarningNotice } from "@u/notice"

const router = createRouter({
    history: createWebHashHistory(),
    routes
})

router.beforeEach(to => {
    //拿到登录信息的token值  判断他存不存在 这里只能用localStorage  watcheffct里的不方便用
    const token = localStorage.getItem("token")
        //定义返回登录界面 非token值或者判断是不是属于manage这一整个路由组里
        //用正则来写校验规则
    const isInManageRouteGruop = /^Manage(?!(Login))/.test(
        to.name
    )

    const isToLogin = !token && isInManageRouteGruop
    if (isToLogin) {
        useWarningNotice({ message: "暂无此权限, 请先登录" })
            //然后返回登录路由名的路由地址
        return { name: "ManageLogin" }
    }
    return true
})

export default router